home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / olectnrs.int < prev    next >
Encoding:
Text File  |  1998-02-09  |  5.4 KB  |  170 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1996,98 Borland International     }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. (*$HPPEMIT '#include <DocObj.h>'*)
  11.  
  12. unit OleCtnrs;
  13.  
  14. interface
  15.  
  16. uses Windows, Messages, CommCtrl, ActiveX, OleDlg, SysUtils, Classes,
  17.   Controls, Forms, Menus, Graphics, ComObj;
  18.  
  19. const
  20.   ovShow = -1;
  21.   ovOpen = -2;
  22.   ovHide = -3;
  23.   ovUIActivate = -4;
  24.   ovInPlaceActivate = -5;
  25.   ovDiscardUndoState = -6;
  26.   ovPrimary = -65536;
  27.  
  28. type
  29.   TOleContainer = class;
  30.   TOleForm = class;
  31.  
  32.   IVCLFrameForm = interface(IOleInPlaceFrame)
  33.     ['{CD02E1C0-52DA-11D0-9EA6-0020AF3D82DA}']
  34.     procedure AddContainer(Instance: TOleContainer);
  35.     procedure RemoveContainer(Instance: TOleContainer);
  36.     procedure ClearBorderSpace;
  37.     function Form: TCustomForm;
  38.   end;
  39.  
  40.   TAutoActivate = (aaManual, aaGetFocus, aaDoubleClick);
  41.  
  42.   TSizeMode = (smClip, smCenter, smScale, smStretch, smAutoSize);
  43.  
  44.   TObjectState = (osEmpty, osLoaded, osRunning, osOpen, osInPlaceActive,
  45.     osUIActive);
  46.  
  47.   TCreateType = (ctNewObject, ctFromFile, ctLinkToFile, ctFromData,
  48.     ctLinkFromData);
  49.  
  50.   TCreateInfo = record
  51.     CreateType: TCreateType;
  52.     ShowAsIcon: Boolean;
  53.     IconMetaPict: HGlobal;
  54.     ClassID: TCLSID;
  55.     FileName: WideString;
  56.     DataObject: IDataObject;
  57.   end;
  58.  
  59.   TVerbInfo = record
  60.     Verb: Smallint;
  61.     Flags: Word;
  62.   end;
  63.  
  64.   TObjectMoveEvent = procedure(OleContainer: TOleContainer;
  65.     const Bounds: TRect) of object;
  66.  
  67.   TOleContainer = class(TCustomControl, IUnknown, IOleClientSite,
  68.     IOleInPlaceSite, IAdviseSink, IOleDocumentSite, IOleUIObjInfo)
  69.   protected
  70.     procedure Changed; dynamic;
  71.     procedure CreateParams(var Params: TCreateParams); override;
  72.     procedure DblClick; override;
  73.     procedure DefineProperties(Filer: TFiler); override;
  74.     procedure DoEnter; override;
  75.     function GetPopupMenu: TPopupMenu; override;
  76.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  77.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  78.       X, Y: Integer); override;
  79.     procedure Paint; override;
  80.   public
  81.     constructor Create(AOwner: TComponent); override;
  82.     destructor Destroy; override;
  83.     function ChangeIconDialog: Boolean;
  84.     procedure Close;
  85.     procedure Copy;
  86.     procedure CreateLinkToFile(const FileName: string; Iconic: Boolean);
  87.     procedure CreateObject(const OleClassName: string; Iconic: Boolean);
  88.     procedure CreateObjectFromFile(const FileName: string; Iconic: Boolean);
  89.     procedure CreateObjectFromInfo(const CreateInfo: TCreateInfo);
  90.     procedure DestroyObject;
  91.     procedure DoVerb(Verb: Integer);
  92.     function GetIconMetaPict: HGlobal;
  93.     function InsertObjectDialog: Boolean;
  94.     procedure LoadFromFile(const FileName: string);
  95.     procedure LoadFromStream(Stream: TStream);
  96.     function ObjectPropertiesDialog: Boolean;
  97.     procedure Paste;
  98.     function PasteSpecialDialog: Boolean;
  99.     procedure Run;
  100.     procedure SaveAsDocument(const FileName: string);
  101.     procedure SaveToFile(const FileName: string);
  102.     procedure SaveToStream(Stream: TStream);
  103.     procedure UpdateObject;
  104.     procedure UpdateVerbs;
  105.     property CanPaste: Boolean;
  106.     property Linked: Boolean;
  107.     property Modified: Boolean;
  108.     property NewInserted: Boolean;
  109.     property ObjectVerbs: TStrings;
  110.     property OleClassName: string;
  111.     property OleObject: Variant;
  112.     property OleObjectInterface: IOleObject;
  113.     property PrimaryVerb: Integer;
  114.     property SourceDoc: string;
  115.     property State: TObjectState;
  116.     property StorageInterface: IStorage;
  117.   published
  118.     property AllowInPlace: Boolean default True;
  119.     property AllowActiveDoc: Boolean default True;
  120.     property AutoActivate: TAutoActivate default aaDoubleClick;
  121.     property AutoVerbMenu: Boolean default True;
  122.     property Align;
  123.     property BorderStyle: TBorderStyle default bsSingle;
  124.     property Caption;
  125.     property Color;
  126.     property CopyOnSave: Boolean default True;
  127.     property Ctl3D;
  128.     property DragCursor;
  129.     property DragMode;
  130.     property Enabled;
  131.     property Iconic: Boolean;
  132.     property OldStreamFormat: Boolean default False;
  133.     property ParentColor default False;
  134.     property ParentCtl3D;
  135.     property ParentShowHint;
  136.     property PopupMenu;
  137.     property ShowHint;
  138.     property SizeMode: TSizeMode default smClip;
  139.     property TabOrder;
  140.     property TabStop default True;
  141.     property Visible;
  142.     property OnActivate: TNotifyEvent;
  143.     property OnDeactivate: TNotifyEvent;
  144.     property OnDragDrop;
  145.     property OnDragOver;
  146.     property OnEndDrag;
  147.     property OnEnter;
  148.     property OnExit;
  149.     property OnMouseDown;
  150.     property OnMouseMove;
  151.     property OnMouseUp;
  152.     property OnKeyDown;
  153.     property OnKeyPress;
  154.     property OnKeyUp;
  155.     property OnObjectMove: TObjectMoveEvent;
  156.     property OnResize: TNotifyEvent;
  157.     property OnStartDrag;
  158.   end;
  159.  
  160.   TOleForm = class(TInterfacedObject, IOleForm, IOleWindow, IOleInPlaceUIWindow,
  161.     IOleInPlaceFrame, IVCLFrameForm)
  162.   public
  163.     constructor Create(Form: TCustomForm);
  164.     destructor Destroy; override;
  165.   end;
  166.  
  167. procedure DestroyMetaPict(MetaPict: HGlobal);
  168.  
  169. implementation
  170.